home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 February: Tool Chest / Dev.CD Feb 95 / Dev.CD Feb 95.toast / Sample Code / Sprocket / ExperimentalStuff / MailableWindow.h < prev   
Encoding:
C/C++ Source or Header  |  1994-10-20  |  1.5 KB  |  64 lines  |  [TEXT/MMCC]

  1. /*
  2.     File:        MailableWindow.h
  3.  
  4.     Contains:    An abstract class for AOCE-mailable windows
  5.                 
  6.     Written by: Dave Falkenburg
  7.     
  8.     Copyright:    © 1993-94 by Dave Falkenburg, all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.      
  12.          <2>     8/26/94    DRF        Added AdjustPerfectWindowSizeForMailer.
  13.  */
  14.  
  15. #ifndef    _MAILABLEWINDOW_
  16. #define    _MAILABLEWINDOW_
  17.  
  18. #include "Window.h"
  19.  
  20.  
  21. #define    kCanContract            true
  22. #define    kInitiallyExpanded        true
  23. #define    kDefaultAuthIdentity    ((AuthIdentity) 0)
  24.  
  25.  
  26. class    TMailableWindow : public TWindow
  27.     {
  28. public:
  29.                         TMailableWindow();
  30.     virtual                ~TMailableWindow();
  31.  
  32.     //    Overriden methods of TWindow
  33.     
  34.     virtual    Boolean        EventFilter(EventRecord * theEvent);
  35.     virtual void        CreateWindow(WindowType typeOfWindowToCreate = kNormalWindow);
  36.     virtual    void        Draw(void);
  37.     virtual void        AdjustForNewWindowSize(Rect * oldRect,Rect * newRect);
  38.     virtual    Boolean        Close(void);
  39.  
  40.     //    AOCE-specific methods
  41.     
  42.     virtual OSErr        AttachMailerToWindow(Boolean createExpanded);
  43.     virtual OSErr        RemoveMailerFromWindow(void);
  44.  
  45.     virtual void        ExpandOrContractMailer(Boolean doExpand);
  46.     
  47.     virtual void        AdjustPerfectWindowSizeForMailer(Rect * perfectSize);
  48.  
  49.     virtual void        AdjustForNewContentRect(Rect * prevContentRect,Rect * newContentRect);
  50.     virtual void        DrawContents(void);
  51.     
  52. protected:
  53.     Boolean                fMailerIsAttached;
  54.     Boolean                fMailerIsExpanded;
  55.  
  56.     Rect                fContentRect;
  57.  
  58.     //    AOCE-related data structures in here
  59.     };
  60.  
  61. pascal    WindowPtr    FrontWindowProcForAOCE(long /* unusedParam */);
  62.  
  63.  
  64. #endif